package com.lenovo.order_service.service;

import com.lenovo.order_service.api.req.*;
import com.lenovo.order_service.api.res.CreateOrderResVo;
import com.lenovo.order_service.api.res.FilterOrderResVo;
import com.lenovo.order_service.api.res.PageQueryOrderListResVo;
import com.lenovo.order_service.api.res.QueryOrderDetailResVo;
import com.lenovo.order_service.utils.PageBeanUtil;

import java.util.List;

public interface OrderService {
    CreateOrderResVo createOrder(CreateOrderReqVo condition);

    QueryOrderDetailResVo queryOrderDetail(QueryOrderDetailReqVo condition);

    PageBeanUtil<PageQueryOrderListResVo> pageQueryOrderList(PageQueryOrderListReqVo condition);

    void updateOrderDetail(UpdateOrderDetailReqVo condition);

    void deleteOrderDetail(DeleteOrderDetailReqVo condition);

    List<FilterOrderResVo> filterOrderDetail(FilterOrderReqVo condition);

    void cleanPendingOrder();

    void countHourlyAmount();

}
